System and method for controlling functions on electronic devices

ABSTRACT

A system and method are provided that adapt or configure an electronic device to be capable of detecting movement of the plug of a headset relative to a socket therefore (i.e. be capable of detecting relative movement of the coupling between the headset and the device). The plug can then be used to control functions on the electronic device, including those associated with audio programming. The resultant auxiliary controls can also be used for other applications, even those where the device is actively being used, e.g. a video game, to provide further control inputs for the electronic device.

TECHNICAL FIELD

The following relates to systems and methods for controlling functionson electronic devices.

BACKGROUND

When using a cell phone, PDA, smart phone, or other electronic device,to listen to music or other audio programming, controlling the variousfunctions associated with the audio programming typically requiresaccessing one or more input devices on the electronic device. In someinstances, the electronic device is not immediately accessible, due toit being in a holster, coat pocket, bag, pursue, or otherwise beingtemporarily stowed. In such instances, controlling the audio programmingcan be burdensome and become annoying to the user.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will now be described by way of example only with referenceto the appended drawings wherein:

FIG. 1 is a perspective view of a mobile device comprising a wiredheadset.

FIG. 2 is a perspective view of the mobile device of FIG. 1 stowed in aholster.

FIG. 3 is a block diagram of a mobile device comprising a joystick fordetecting movement of a headset plug with respect to a socket therefore.

FIG. 4 is a block diagram of a mobile device comprising a headset sockethaving a series of transducers for detecting movement of a headset plugrelative thereto.

FIG. 5 is an enlarged perspective view of the socket and joystick shownin FIG. 3.

FIGS. 6 to 8 are a series of diagrams illustrating detecting of rotationof a headset plug relative to a socket therefore.

FIG. 9 is a block diagram of an example configuration for controllingfunctions on a mobile device by detecting movement of a headset plugcoupled thereto.

FIG. 10 is a flow chart illustrating an example set of computerexecutable instructions for controlling functions on a mobile device bydetecting movement of a headset plug coupled thereto.

FIG. 11 is an enlarged sectional view of the socket shown in FIG. 4illustrating detection of dual forces simultaneously.

FIG. 12 is a block diagram of an example configuration for a mobiledevice.

DETAILED DESCRIPTION OF THE DRAWINGS

When using an electronic device for audio programming while the deviceis holstered or otherwise stowed, buttons or other input devices neededto operate functions for controlling the audio programming may beobstructed or at least inconvenient to access. It has been recognizedthat a headset such as a set of headphones is typically used in order tolisten to the audio programming and such headset comprises a plug orother mechanism coupled to a socket or jack in the electronic device.Since the plug is needed to use the headset, which is in turn used tolisten to the audio programming, the plug is present and in use duringtimes when control of functions for the audio programming is needed.Moreover, when holstered or otherwise stowed, the plug is readilydiscernible by touch, i.e. can be located without seeing the electronicdevice, since it protrudes from the housing and holster (if being used)as shown in FIGS. 1 and 2.

By adapting or configuring the electronic device to be capable ofdetecting movement of the plug of the headset relative to a sockettherefore (i.e. be capable of detecting relative movement of thecoupling between the headset and the device), the plug can be used tocontrol functions on the electronic device, including those associatedwith audio programming. The resultant auxiliary controls can also beused for other applications, even those where the device is activelybeing used, e.g. a video game, to provide further control inputs for theelectronic device.

Although the following examples are presented in the context of mobilecommunication devices, the principles may equally be applied to otherdevices such as applications running on personal computers, otherelectronic devices, and the like.

For clarity in the discussion below, mobile communication devices arecommonly referred to as “mobile devices” for brevity. Examples ofapplicable mobile devices include without limitation, cellular phones,cellular smart-phones, wireless organizers, pagers, personal digitalassistants, computers, laptops, handheld wireless communication devices,wirelessly enabled notebook computers, portable gaming devices, tabletcomputers, or any other portable electronic device with processing andcommunication capabilities.

Turning now to FIG. 1, a mobile device 10 is shown, which comprises ahousing 12. The housing 12 in this example supports a display 14,positioning device 16 (in this example a track-pad), and a keyboard 18.The mobile device 10 in the example shown has coupled thereto, a headset20. The headset 20 in this example is a wired headset comprising a pairof earphones or “ear buds” 26 and a plug 22 for coupling the headset 20to the mobile device 10, wherein the plug 22 and earphones 26 areconnected via a cord 24 or cable. It can be appreciated that the headset20 could instead comprise a wireless connection between the plug 22 andthe earphones 26 (e.g. to use in place of a Bluetooth or othershort-range wireless connection).

As seen in FIG. 2, the mobile device 10 may be of the type thatcomprises a complementary holster 27. The holster 27 is typically usedto stow and protect the outer surfaces of the housing 12, display 14,positioning device 16, keyboard 18, etc. and may be used to triggerother features such as a notification profile, backlight, phone, etc. Inthis example, the holster 27 comprises a clip 28 to facilitatesupporting the holster 27 and thus the mobile device 10 on a belt orother object. The holster 27 permits the plug 22 to protrude from themobile device 10 and the cord 24 to pass therethrough to facilitate useof the headset 20 when the mobile device 10 is holstered. Therefore, itcan be appreciated that the plug 22 is accessible and discernible bytouch due to it protruding from the mobile device 10, both when themobile device 10 is holstered and when it is not.

Since the plug 22 is accessible whenever the headset 20 is coupled tothe mobile device 10, the plug 22 is available during those times tocontrol functions by detecting movements thereof. It has been found thatby adapting a socket 34 used to couple the plug 22 to the mobile device10, any headset 20 that uses a complementary plug 22 (e.g. standard plugor otherwise) can be used to provide the input, and thus nomodifications to the headset 20 are needed. In this way, even if theuser has multiple headsets 20 (e.g. one for phone calls and one formultimedia or gaming), there is no need to modify or purchase a specialheadset in order to provide one or more additional inputs to the mobiledevice 10. Two example configurations suitable for adapting the socket34 are shown in FIGS. 3 and 4.

In FIG. 3, the socket 34 is supported within the housing 12 by ajoystick 36, which is in turn supported or mounted on a printed circuitboard (PCB) 38 or other component within the housing 12. The joystick 36in this example is of the type that is capable of detecting movement inat least two orthogonal directions, e.g. a PSP 1000 3D joystick orsimilar joystick detection modules used in portable gaming devices.Typically, such a joystick 36 can detect movement in four radialdirections (e.g. forward, backward, left, and right). The joystick 36may, in some embodiments, be configured to detect movement in a thirdorthogonal direction, namely an axial movement towards the PCB 38. Insuch embodiments, the joystick 36 can detect five distinct movements,each of which can be translated to one or more instructions foroperating a particular corresponding function. For example, if thejoystick 36 is used to instruct a music player application, it candetect skip forward and skip backward along one orthogonal axis, volumeup and volume down along another orthogonal axis, and pause along thethird orthogonal axis, i.e. via an axial movement towards the PCB 38. Itwill be appreciated that the socket 34 may also be configured to detectrotational movement of the plug 32 relative thereto, however, suchmovements would typically need to be detectable by the socket 34 in thisexample as will be discussed below.

It can be appreciated that to accommodate movement of the socket 34, thehousing 12 should allow enough clearance surrounding the socket 34. Byconnecting the socket 34 to a joystick 36 as shown in FIG. 3, movementof a lead 32 of the plug 22 can impart a force on the socket 34, whichin turn causes a discernible movement of the joystick 36. It can be seenin FIG. 3 that the plug 22 in this example comprises a body 32 whichcontains a connection between the cord 24 and the lead 32. The lead 32is inserted into the socket 34 and the body 30 typically abuts thehousing 12 and/or socket 34. Although the joystick 36 is shown as beingconnected directly to the PCB 38 in FIG. 3, it can be appreciated thatthe joystick 36 can be supported by any suitable mechanism such asmounting hardware inside the housing 12, etc.

In FIG. 4, the socket 34′ itself detects movement of the lead 32 as bestshown in the enlarged view of the socket 34′. In this example, thesocket 34′ comprises one or more transducers 44 that are capable ofdetecting a pressure or force bearing against a corresponding portion ofthe wall 40 that defines the socket's interior 42. The transducer 44 maybe of any suitable type capable of detecting pressure, force or contact,such as a piezoelectric element, magnetic sensor, or other contactsensor. Each transducer 44 corresponds to a function and is positionedto detect a particular movement of the lead 32. For example, to providefive functions as shown in FIG. 5, five corresponding transducers 44 canbe incorporated into the socket 34′, namely four spaced around the wall40, typically at 90 degree offsets, and a fifth positioned at the end ofthe interior 42 to detect an inward, axial movement of the lead 32. Itcan be appreciated that if it is expected that the lead 32 may be sizedsuch that it will not reach the end of the interior 42, anothertransducer 44 may be placed instead of or redundantly (i.e. in additionto), on the ridge 41 of the socket 34′ as shown in dashed lines. Such aredundant transducer 44 can be placed in order to detect a forceimparted by the body 30 of the plug 22 should the body 30 impact thesocket 34′ prior to or instead of the lead 32. It can be appreciatedthat although in this example the socket 34′ is shown as being connecteddirectly to the PCB 38, in other embodiments, the socket 34′ may besupported using some other component or using mounting hardware withinthe housing 12.

Accordingly, it can be appreciated that movement of the plug 22 can bedetected in various ways, for example by detecting movement of thesocket 34 imparted by the movement of the plug 22 as shown in FIGS. 3and 5, or by adapting the socket 34′ to incorporate one or moretransducers 44 positioned to detect one or more corresponding movementsas shown in FIG. 4.

As noted above, the socket 34 can also be optionally adapted to detectrotation of the lead 32 relative thereto in order to provide twoadditional functions, namely counter-clockwise and clockwise rotations.Returning to the music player example, rotation of the plug 22 may beused to enable fast-forward and fast-reverse/rewind functions. Methodsfor detecting surface movements indicative of rotation include opticalor electromagnetic movement detection or rotation measurement mechanics,e.g. those which are used in computer mouse technologies. In order todetect rotation of the lead 32, the socket 34 in this example isconfigured to detect rotation of a discernible marking or otherdetectable feature 46 on the lead 32 to distinguish between clockwiseand counter-clockwise movements. For example, FIGS. 6 to 8 illustrateone example configuration capable of discerning clockwise fromcounter-clockwise rotation. In this example, the lead 32 comprises adetectable element 46, e.g. a marking, magnetic portion, etc. As thedetectable element 46 rotates with the lead 32, it will pass a pluralityof detectors, in this example a first detector 50 and a second detector52. In FIG. 7 it can be seen that the detectable element 46 passes thefirst detector 50 first, followed by the second detector as shown inFIG. 8 thus indicating a counter-clockwise rotation (in the view shown).It can be appreciated that if the second detector 52 detects thedetectable element 46 prior to the first detector 50, clockwise rotationis detected. Other embodiments can optically track the rotationalmovement of the surface of the plug 32 when the plug 32 is rotatedwithin the socket 34. In such embodiments, the detectable or discernibleelements 46 comprise visual surface differences.

Accordingly, a system is provided that comprises one or more detectorsfor detecting movement of a headset plug relative to a socket therefor,in order to enable instructions in a memory to be provided or generatedfor controlling one or more corresponding functions according to adetected movement by the one or more detectors. A joystick coupled tothe socket may comprises the one or more detectors, and/or the one ormore detectors can be transducers operable to detect one or morecorresponding movements of the plug. The one or more detectors can bepositioned with respect to the socket to detect movements of the headsetplug relative to the socket along a plurality of orthogonal directions,wherein in some embodiments, at least four detectors are positioned withrespect to the socket to detect at least four corresponding directionsof movement, a first pair of directions being along a first orthogonalaxis and a second pair of directions being along a second orthogonalaxis.

In other embodiments, at least one additional detector can be positionedto detect a fifth direction of movement along a third orthogonal axis,the third orthogonal axis being substantially aligned with an axialdirection of the socket, and at least one detector can be operable todetect rotation of the plug relative to the socket, for example todetect rotation in both clockwise and counter-clockwise directions.

FIG. 9 illustrates an example block diagram of a mobile device 10comprising a headset socket 34. In this example, the headset socket 34is connected to or otherwise comprises a movement detector 54, e.g.transducers 44, joystick 36, etc. The movement detector 54 is configuredto detect one or more movements of the plug 20 relative to the socket 34and provide one or more corresponding indications to a socket controller56. The socket controller 56 is configured to provide one or moreinstructions to an application 58 for operating one or morecorresponding functions. This may be done by simply relaying theindications from the movement detector to an application 58 (i.e. if theapplication 58 understands such indications), or can perform atranslation of the indications into a format that is understandable tothe application 58. For example, the following table illustrates anexample translation and rotation wherein the movement detector 54provides indications 1 through 7 and the socket controller 56 translatesthe indications into functional instructions A through G.

TABLE 1 Example Instruction Mapping Indication and Corresponding MotionInstruction (e.g. for Music Player) 1 - Right (+X axis) B (next track)2 - Left (−X axis) D (previous track) 3 - Up (+Y axis) A (volume up) 4 -Down (−Y axis) C (volume down) 5 - Press (−Z axis) E (pause) 6 - Rotateclockwise F (fast forward) 7 - Rotate counter clockwise G (rewind)

Accordingly, the application 58, such as a music player, will receive aninstruction that it understands (on the assumption that the music playerunderstands instructions A to G rather than raw indications 1 to 7). Forexample, by receiving instruction B, the application 58 may know to skipthe track forward, whereas if it receives instruction D, it knows toskip the track backward. Whether or not a translation is required may beapplication-specific. In another music player embodiment, a combinationof actions may be required to improve false interpretations of theoperation of the joystick 34 (or detection using transducers 44). Forexample, an E instruction (press) either in sequence or combination witha B instruction (right) may be required before skipping to the nexttrack. Other such combinations are conceivable whereby the combinationmay help avoid false interpretation of movement operations in activeuser environments, such as while jogging or engaging in other physicalactivities. As such, the socket controller 56 can be configured todetermine which of a plurality of applications 58 it is to be currentlycontrolling and adapt itself accordingly. The instructionsunderstandable to the application 58 may correspond to those that areprovided by an existing input module 64, e.g. a set of controls providedon the display 14 via an output module 66. The application 58 mayinclude any number of applications designed to interface with ajoystick, trackpad, trackball, mouse, touchscreen, or other suitablemovement/positioning or other input devices.

The application 58 may therefore be controlled using existing controlsprovided by the input module 64 or via the movement detector 54. Theinstructions instruct the application 58 to perform a particularfunction, which is typically discernible to the user via an audio outputmodule 62. For example, if the instruction provides a volume increase,the audio output module 62 increases the volume directed to the headsetsocket 34 when the headset 20 is inserted or to the speaker 63 when itis not. The user may thus be inherently notified of a successfuloperation via a detectable change in the audio output, e.g. new track,higher volume, etc. However, in some cases, or for some applications 58,the instruction may correspond to a function that does not involveinherent audible feedback. For example, the headset 20 may be used tocontrol operations for a video camera on the mobile device 10, for whichone movement causes a “record” function to initiate. If the recordfunction is silent to the user, haptic or other feedback can beprovided, for example, the socket controller 56 or application 58 caninstruct a vibration mechanism to vibrate the mobile device 10.Similarly, a beep or tone can be provided as feedback or a flashinglight, etc.

It will be appreciated that any module or component exemplified hereinthat executes instructions may include or otherwise have access tocomputer readable media such as storage media, computer readable storagemedia, or data storage devices (removable and/or non-removable) such as,for example, magnetic disks, optical disks, or tape. Computer storagemedia may include volatile and non-volatile, removable and non-removablemedia implemented in any method or technology for storage ofinformation, such as computer readable instructions, data structures,program modules, or other data. Examples of computer storage mediainclude RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to store thedesired information and which can be accessed by an application, module,or both. Any such computer storage media may be part of the mobiledevice 10, or accessible or connectable thereto. Any application ormodule herein described may be implemented using computerreadable/executable instructions that may be stored or otherwise held bysuch computer readable media.

Turning now to FIG. 10, an example set of computer executableinstructions are shown that may be executed by the socket controller 56,movement detector 54, or application 58 (if specially programmed toaccept inputs from the movement detector or socket 34, 34′) to operateone or more functions in response to detected movements of the plug 22relative to the socket 34, 34′. At 70, movement of the plug 22 isdetected, e.g. by the transducers 44, joystick 36, etc. Based on thedetected movement at 70, an indication is obtained (e.g. a signal on aparticular wire, a code provided by the joystick 36, etc.) and from thisindication, the corresponding function is determined at 72. For example,the indication may be in the format understandable by the application 58or may be translated, e.g. using a table such as Table 1, by the socketcontroller 56 or movement detector 54. The application 58 is theninstructed to control a particular function at 74. It may then bedetermined at 76 whether or not feedback is to be provided. For example,depending on the nature of the indication and the correspondingfunction, a discernible feedback is inherent or may need to begenerated. If feedback is required, the feedback is enabled and providedat 78, e.g. by causing the mobile device 10 to vibrate, a light toflash, an audible tone to sound, etc. and the process ends at 80. If nofeedback is required, the process ends at 80 without providing anyfeedback.

As discussed above, in addition to detecting pressure or force appliedto the inner surfaces of the interior 42 of the socket 34 or detectingmovement of the joystick 36 in two orthogonal directions, a thirdorthogonal direction may be incorporated to detect axial movement or“pushing” of the plug 22 towards the housing 12. It has also beenrecognized that the provision of such a third orthogonal direction canbe used to confirm or qualify a particular movement to discerninadvertent movements of the plug 22 from legitimate ones. As shown inFIG. 11, by requiring both a pushing inwards and towards the socket'sinterior 42 in a particular direction movement in the particulardirection can be qualified. In this way, should the plug 22 be jostledor otherwise moved inadvertently, the corresponding function would notbe operated on unless the pushing force is detected.

The above system has many particular advantages. For example, bymodifying the socket 34 or attaching the socket 34 to a joystick 36 asshown herein, any conventional wired headset 20 can be used to enablethe additional function controls. Such additional function controls canalso be used to control any other functions on the mobile device 10. Afurther advantage is that when the headset 20 is not in use, the controlrod that is effectively created by the plug 22 would no longer protrudefrom the housing 12, since the headset 20 is typically removed when notin use. As such, the additional function controls would be present whenneeded but removed and thus not “in the way” when they are not needed.Moreover, since only modifications are needed to the mobile device 10,the existing user experience is not changed but is enhanced by havingthe ability to provide additional controls and modifications to theheadset 20 is not needed in most embodiments.

Referring now to FIG. 12, shown therein is a block diagram of an exampleembodiment of a mobile device 10. The mobile device 10 comprises anumber of components such as a main processor 102 that controls theoverall operation of the mobile device 10. Communication functions,including data and voice communications, are performed through acommunication subsystem 104. The communication subsystem 104 receivesmessages from and sends messages to a wireless network 150. In thisexample embodiment of the mobile device 10, the communication subsystem104 is configured in accordance with the Global System for MobileCommunication (GSM) and General Packet Radio Services (GPRS) standards.The GSM/GPRS wireless network is used worldwide and it is expected thatthese standards will be superseded eventually by 3G and 4G networks suchas EDGE, UMTS and HSDPA, LTE, Wi-Max etc. New standards are still beingdefined, but it is believed that they will have similarities to thenetwork behaviour described herein, and it will also be understood bypersons skilled in the art that the embodiments described herein areintended to use any other suitable standards that are developed in thefuture. The wireless link connecting the communication subsystem 104with the wireless network 150 represents one or more different RadioFrequency (RF) channels, operating according to defined protocolsspecified for GSM/GPRS communications. With newer network protocols,these channels are capable of supporting both circuit switched voicecommunications and packet switched data communications.

The main processor 102 also interacts with additional subsystems such asa Random Access Memory (RAM) 106, a flash memory 108, a display 14, anauxiliary input/output (I/O) subsystem 112, a data port 114, a keyboard116, a speaker 63, a microphone 120, GPS receiver 121, socket controller56, short-range communications 122, and other device subsystems 124.

Some of the subsystems of the mobile device 10 performcommunication-related functions, whereas other subsystems may provide“resident” or on-device functions. By way of example, the display 14 andthe keyboard 116 may be used for both communication-related functions,such as entering a text message for transmission over the network 150,and device-resident functions such as a calculator or task list.

The mobile device 10 can send and receive communication signals over thewireless network 150 after required network registration or activationprocedures have been completed. Network access is associated with asubscriber or user of the mobile device 10. To identify a subscriber,the mobile device 10 may use a subscriber module. Examples of suchsubscriber modules include a Subscriber Identity Module (SIM) developedfor GSM networks, a Removable User Identity Module (RUIM) developed forCDMA networks and a Universal Subscriber Identity Module (USIM)developed for 3G networks such as UMTS. In the example shown, aSIM/RUIM/USIM 126 is to be inserted into a SIM/RUIM/USIM interface 128in order to communicate with a network. The SIM/RUIM/USIM component 126is one type of a conventional “smart card” that can be used to identifya subscriber of the mobile device 10 and to personalize the mobiledevice 10, among other things. Without the component 126, the mobiledevice 10 may not be fully operational for communication with thewireless network 150. By inserting the SIM/RUIM/USIM 126 into theSIM/RUIM/USIM interface 128, a subscriber can access all subscribedservices. Services may include: web browsing and messaging such ase-mail, voice mail, SMS, and MMS. More advanced services may include:point of sale, field service and sales force automation. TheSIM/RUIM/USIM 126 includes a processor and memory for storinginformation. Once the SIM/RUIM/USIM 126 is inserted into theSIM/RUIM/USIM interface 128, it is coupled to the main processor 102. Inorder to identify the subscriber, the SIM/RUIM/USIM 126 can include someuser parameters such as an International Mobile Subscriber Identity(IMSI). An advantage of using the SIM/RUIM/USIM 126 is that a subscriberis not necessarily bound by any single physical mobile device. TheSIM/RUIM/USIM 126 may store additional subscriber information for amobile device as well, including datebook (or calendar) information andrecent call information. Alternatively, user identification informationcan also be programmed into the flash memory 108.

The mobile device 10 is typically a battery-powered device and mayinclude a battery interface 132 for receiving one or more batteries 130(typically rechargeable). In at least some embodiments, the battery 130can be a smart battery with an embedded microprocessor. The batteryinterface 132 is coupled to a regulator (not shown), which assists thebattery 130 in providing power V+ to the mobile device 10. Althoughcurrent technology makes use of a battery, future technologies such asmicro fuel cells may provide the power to the mobile device 10.

The mobile device 10 also includes an operating system 134 and softwarecomponents 136 to 146. The operating system 134 and the softwarecomponents 136 to 146 that are executed by the main processor 102 aretypically stored in a persistent store such as the flash memory 108,which may alternatively be a read-only memory (ROM) or similar storageelement (not shown). Those skilled in the art will appreciate thatportions of the operating system 134 and the software components 136 to146, such as specific device applications, or parts thereof, may betemporarily loaded into a volatile store such as the RAM 106. Othersoftware components can also be included, as is well known to thoseskilled in the art.

The subset of software applications 136 that control basic deviceoperations, including data and voice communication applications, may beinstalled on the mobile device 10 during its manufacture. Other softwareapplications include a message application 138 that can be any suitablesoftware program that allows a user of the mobile device 10 to send andreceive electronic messages. Various alternatives exist for the messageapplication 138 as is well known to those skilled in the art. Messagesthat have been sent or received by the user are typically stored in theflash memory 108 of the mobile device 10 or some other suitable storageelement in the mobile device 10. In at least some embodiments, some ofthe sent and received messages may be stored remotely from the mobiledevice 10 such as in a data store of an associated host system that themobile device 10 communicates with.

The software applications can further comprise a device state module140, a Personal Information Manager (PIM) 142, and other suitablemodules (not shown). The device state module 140 provides persistence,i.e. the device state module 140 ensures that important device data isstored in persistent memory, such as the flash memory 108, so that thedata is not lost when the mobile device 10 is turned off or loses power.

The PIM 142 includes functionality for organizing and managing dataitems of interest to the user, such as, but not limited to, e-mail,contacts, calendar events, voice mails, appointments, and task items. APIM application has the ability to send and receive data items via thewireless network 150. PIM data items may be seamlessly integrated,synchronized, and updated via the wireless network 150 with the mobiledevice subscriber's corresponding data items stored and/or associatedwith a host computer system. This functionality creates a mirrored hostcomputer on the mobile device 10 with respect to such items. This can beparticularly advantageous when the host computer system is the mobiledevice subscriber's office computer system.

The mobile device 10 may also comprise a connect module 144, and an ITpolicy module 146. The connect module 144 implements the communicationprotocols that are required for the mobile device 10 to communicate withthe wireless infrastructure and any host system, such as an enterprisesystem, that the mobile device 10 is authorized to interface with.

The connect module 144 includes a set of APIs that can be integratedwith the mobile device 10 to allow the mobile device 10 to use anynumber of services associated with the enterprise system. The connectmodule 144 allows the mobile device 10 to establish an end-to-endsecure, authenticated communication pipe with a host system (not shown).A subset of applications for which access is provided by the connectmodule 144 can be used to pass IT policy commands from the host systemto the mobile device 10. This can be done in a wireless or wired manner.These instructions can then be passed to the IT policy module 146 tomodify the configuration of the device 10. Alternatively, in some cases,the IT policy update can also be done over a wired connection.

The IT policy module 146 receives IT policy data that encodes the ITpolicy. The IT policy module 146 then ensures that the IT policy data isauthenticated by the mobile device 100. The IT policy data can then bestored in the flash memory 106 in its native form. After the IT policydata is stored, a global notification can be sent by the IT policymodule 146 to all of the applications residing on the mobile device 10.Applications for which the IT policy may be applicable then respond byreading the IT policy data to look for IT policy rules that areapplicable.

Other types of software applications or components 139 can also beinstalled on the mobile device 10. These software applications 139 canbe pre-installed applications (i.e. other than message application 138)or third party applications, which are added after the manufacture ofthe mobile device 10. Examples of third party applications includegames, calculators, utilities, etc.

The additional applications 139 can be loaded onto the mobile device 10through at least one of the wireless network 150, the auxiliary I/Osubsystem 112, the data port 114, the short-range communicationssubsystem 122, or any other suitable device subsystem 124. Thisflexibility in application installation increases the functionality ofthe mobile device 10 and may provide enhanced on-device functions,communication-related functions, or both. For example, securecommunication applications may enable electronic commerce functions andother such financial transactions to be performed using the mobiledevice 10.

The data port 114 enables a subscriber to set preferences through anexternal device or software application and extends the capabilities ofthe mobile device 10 by providing for information or software downloadsto the mobile device 10 other than through a wireless communicationnetwork. The alternate download path may, for example, be used to loadan encryption key onto the mobile device 10 through a direct and thusreliable and trusted connection to provide secure device communication.

The data port 114 can be any suitable port that enables datacommunication between the mobile device 10 and another computing device.The data port 114 can be a serial or a parallel port. In some instances,the data port 114 can be a USB port that includes data lines for datatransfer and a supply line that can provide a charging current to chargethe battery 130 of the mobile device 10.

The short-range communications subsystem 122 provides for communicationbetween the mobile device 10 and different systems or devices, withoutthe use of the wireless network 150. For example, the subsystem 122 mayinclude an infrared device and associated circuits and components forshort-range communication. Examples of short-range communicationstandards include standards developed by the Infrared Data Association(IrDA), Bluetooth, and the 802.11 family of standards developed by IEEE.

In use, a received signal such as a text message, an e-mail message, orweb page download may be processed by the communication subsystem 104and input to the main processor 102. The main processor 102 may thenprocess the received signal for output to the display 14 oralternatively to the auxiliary I/O subsystem 112. A subscriber may alsocompose data items, such as e-mail messages, for example, using thekeyboard 116 in conjunction with the display 14 and possibly theauxiliary I/O subsystem 112. The auxiliary subsystem 112 may comprisedevices such as: a touch screen, mouse, track ball, infrared fingerprintdetector, or a roller wheel with dynamic button pressing capability. Thekeyboard 116 is an alphanumeric keyboard and/or telephone-type keypad.However, other types of keyboards may also be used. A composed item maybe transmitted over the wireless network 150 through the communicationsubsystem 104.

For voice communications, the overall operation of the mobile device 10in this example is substantially similar, except that the receivedsignals are output to the speaker 63, and signals for transmission aregenerated by the microphone 120. Alternative voice or audio I/Osubsystems, such as a voice message recording subsystem, can also beimplemented on the mobile device 10. Although voice or audio signaloutput is accomplished primarily through the speaker 63, the display 14can also be used to provide additional information such as the identityof a calling party, duration of a voice call, or other voice callrelated information.

The socket controller 56 is also shown in FIG. 12 and may operate inconjunctions with or under the controller of the main processor 102 toprovide instructions indicative of detected movements of the socket 34due to movements of the plug 22. The socket controller 56 may alsoutilize or otherwise instruct the processor 102 to provide feedback viathe speaker 63 and to instruct an application 58 to operate or otherwisecontrol a function related to the use of the application 58, e.g. volumecontrol or track selection in a music application. As such, it can beappreciated that the configuration shown in FIG. 9 can be adapted tooperate within various electronic devices, including a mobile device 10as shown in FIG. 12 and others.

Although the above principles have been described with reference tocertain specific embodiments, various modifications thereof will beapparent to those skilled in the art without departing from the scope ofthe claims appended hereto.

The invention claimed is:
 1. A system for controlling functions on anelectronic device, the system comprising: a first detector beingpositioned at an end of an interior of a socket for a headset plughaving a lead and a body for detecting a pushing force of the headsetplug into the socket in a third orthogonal direction along an axialdirection of the headset plug, and a second detector being positioned ona ridge of the socket to detect a force imparted by the body of theheadset plug when the lead is inserted into the socket along at leastone of a first orthogonal direction and a second orthogonal directionperpendicular to the axial direction; and instructions in a memory forcontrolling one or more corresponding functions according to a detectedmovement by both the first and second detectors, wherein the first andsecond detectors both detect movement of the headset plug by detectingat least one of the lead contacting the end of the socket and the bodycontacting the socket, and the instructions are operable to requiredetection of a combination of a first movement using the first detectorand a second movement using the second detector, the first movement isused to confirm the second movement, and control of a corresponding oneof the one or more functions, and the pushing force is an additionalaxial force on the headset plug after the headset plug is completelyinserted into the socket.
 2. The system according to claim 1, whereinthe first and second detectors are transducers operable to detect one ormore corresponding movements of the plug.
 3. The system according toclaim 1, further comprising one or more detectors positioned withrespect to the socket to detect movements of the headset plug relativeto the socket along a plurality of orthogonal directions.
 4. The systemaccording to claim 3, wherein at least four additional detectors arepositioned with respect to the socket to detect at least four additionalcorresponding directions of movement, a first additional pair ofdirections being along a first orthogonal axis and a second pair ofadditional directions being along a second orthogonal axis.
 5. Thesystem according to claim 4, wherein one or more of the first and seconddetectors is positioned to detect a fifth direction of movement along athird orthogonal axis, the third orthogonal axis being substantiallyaligned with an axial direction of the socket.
 6. The system accordingto claim 1 further comprising at least one detector to detect rotationof the plug relative to the socket.
 7. The system according to claim 6,wherein the first detector is operable to detect rotation is operable todetect both clockwise and counter-clockwise rotations.
 8. The systemaccording to claim 1 wherein the first detector detects a Z axis forceimparted towards the end of the interior of the socket based upon thefirst movement, the second detector detect an X axis or Y axis forceimparted by the body of the headset plug based upon the second movement,and the one of the one or more functions is not executed based upon onlyone of the first and second movements.
 9. The system according to claim1 further comprising at least one detector to detect an axial rotationof the body of the headset plug based upon first movement, wherein thesecond detector detect an X axis or Y axis force imparted by the body ofthe headset plug based upon the second movement, and the one of the oneor more functions is not executed based upon only one of the first andsecond movements.
 10. A method for controlling functions on anelectronic device, the method comprising: detecting a pushing force on aheadset plug having a lead and a body at least one of a first detectorbeing positioned at an end of an interior of a socket, the pushing forceis in a third orthogonal direction along an axial direction of theheadset plug into the socket, and a force along at least one of a firstorthogonal direction and a second orthogonal direction perpendicular tothe axial direction imparted by the body of the headset plug using asecond detector being positioned on a ridge of the socket when the leadis inserted into the socket, wherein the first and second detectors bothdetect movement of the headset plug by detecting at least one of thelead contacting the end of the socket and the body contacting thesocket; determining a corresponding function to control based on themovement detected; providing an instruction to an application to controlthe corresponding function; and detecting a combination of a firstmovement using the first detector and a second movement using the seconddetector, the first movement is used to confirm the second movement, andcontrol of a corresponding one of the one or more functions, and thepushing force is an additional axial force on the headset plug after theheadset plug is completely inserted into the socket.
 11. The methodaccording to claim 10, wherein movements of the headset plug aredetected using a plurality of transducers.
 12. The method according toclaim 10, wherein movements of the headset plug relative to the socketare detectable along a plurality of orthogonal directions.
 13. Themethod according to claim 12, wherein at least four directions ofmovement are detectable, a first pair of additional directions beingalong a first orthogonal axis and a second pair of additional directionsbeing along a second orthogonal axis.
 14. The method according to claim13, wherein the first and second detectors detect a fifth direction ofmovement is detectable along a third orthogonal axis, the thirdorthogonal axis being substantially aligned with an axial direction ofthe socket.
 15. The method according to claim 10, wherein rotation ofthe plug relative to the socket is detectable.
 16. The method accordingto claim 15, wherein the rotation is detectable in both clockwise andcounter-clockwise directions.
 17. The method according to claim 10wherein the first detector detects a Z axis force imparted towards theend of the interior of the socket based upon first movement, the seconddetector detect an X axis or Y axis force imparted by the body of theheadset plug based upon the second movement, and the one of the one ormore functions is not executed based upon only one of the first andsecond movements.
 18. The method according to claim 10 furthercomprising at least one detector to detect an axial rotation of the bodyof the headset plug based upon first movement, wherein the seconddetector detect an X axis or Y axis force imparted by the body of theheadset plug based upon the second movement, and the one of the one ormore functions is not executed based upon only one of the first andsecond movements.
 19. A non-transitory computer readable storage mediumcomprising computer executable instructions for controlling functions onan electronic device, the computer executable instructions comprisinginstructions for: detecting a pushing force on a headset plug having alead and a body using at least one of a first detector being positionedat an end of an interior of a socket, the pushing force is in a thirdorthogonal direction along an axial direction of the headset plug intothe socket, and a force along at least one of a first orthogonaldirection and a second orthogonal direction perpendicular to the axialdirection imparted by the body of the headset plug using a seconddetector being positioned on a ridge of the socket when the lead isinserted into the socket, wherein the first and second detectors bothdetect movement of the headset plug by detecting at least one of thelead contacting the end of the socket and the body contacting thesocket; determining a corresponding function to control based on themovement detected; providing an instruction to an application to controlthe corresponding function; and further comprising instructions fordetecting a combination of a first movement using the first detector anda second movement using the second detector the first movement is usedto confirm the second movement and control of a corresponding one of theone or more functions, and the pushing force is an additional axialforce on the headset plug after the headset plug is completely insertedinto the socket.
 20. The non-transitory computer storage readable mediumaccording to claim 19, wherein movements of the headset plug aredetected using a plurality of transducers.
 21. The non-transitorycomputer storage readable medium according to claim 19, whereinmovements of the headset plug relative to the socket are detectablealong a plurality of orthogonal directions.
 22. The non-transitorycomputer readable storage medium according to claim 21, wherein at leastfour directions of movement are detectable, a first pair of additionaldirections being along a first orthogonal axis and a second pair ofadditional directions being along a second orthogonal axis.
 23. Thenon-transitory computer readable storage medium according to claim 22,wherein the first and second detectors detect a fifth direction ofmovement is detectable along a third orthogonal axis, the thirdorthogonal axis being substantially aligned with an axial direction ofthe socket.
 24. The non-transitory computer readable storage mediumaccording to claim 19, wherein rotation of the plug relative to thesocket is detectable.
 25. The non-transitory computer readable storagemedium according to claim 24, wherein the rotation is detectable in bothclockwise and counter-clockwise directions.
 26. The non-transitorycomputer storage readable medium according to claim 19 wherein the firstdetector detects a Z axis force imparted towards the end of the interiorof the socket based upon first movement, the second detector detect an Xaxis or Y axis force imparted by the body of the headset plug based uponthe second movement, and the one of the one or more functions is notexecuted based upon only one of the first and second movements.
 27. Thenon-transitory computer storage readable medium according to claim 19further comprising at least one detector to detects an axial rotation ofthe body of the headset plug based upon first movement, wherein thesecond detector detect an X axis or Y axis force imparted by the body ofthe headset plug based upon the second movement, and the one of the oneor more functions is not executed based upon only one of the first andsecond movements.